package com.vcc.data.entity;


import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
import com.vcc.data.base.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 卡信息
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Setter
@Getter
@Table(value = "vcc_card")
public class CardType extends BaseEntity implements Serializable {


    @Column(comment = "号段", value = "section_no")
    private String sectionNo;

    @Column(comment = "代码", value = "code")
    private String code;

    @Column(comment = "地区代码", value = "country")
    private String country;

    @Column(comment = "币种代码", value = "currency_code")
    private String currencyCode;

    @Column(comment = "币种名称", value = "currency_name")
    private String currencyName;

    @Column(comment = "备注", value = "remark")
    private String remark;

    @Column(comment = "是否支持开卡", value = "verify_open_card_status")
    private Integer verifyOpenCardStatus;

    @Column(comment = "是否支持充值", value = "verify_recharge_card_status")
    private Integer verifyRechargeCardStatus;

    @Column(comment = "是否支持转账", value = "verify_out_card_status")
    private Integer verifyOutCardStatus;

    @Column(comment = "是否支持小卡", value = "verify_close_card_status")
    private Integer verifyCloseCardStatus;

    @Column(comment = "是否支持冻结解冻", value = "verify_freeze_un_freeze_card_status")
    private Integer verifyFreezeUnFreezeCardStatus;

    @Column(comment = "卡标签", value = "card_label")
    private String cardLabel;

    @Column(comment = "渠道代码", value = "channel_name")
    private String channelName;

    @Column(comment = "状态", value = "status")
    private Integer status;

    @Column(comment = "是否支持特殊状态", value = "verify_special_status")
    private Integer verifySpecialStatus;

    @Column(comment = "排序", value = "sort")
    private Integer sort;

    @Column(comment = "基础开卡费", value = "init_amount")
    private BigDecimal initAmount;

    @Column(comment = "经销商最小限制", value = "dealer_min_amount")
    private BigDecimal dealerMinAmount;

    @Column(comment = "操作用户ID", value = "operation_user_id")
    private Long operationUserId;

    @Column(comment = "金额", value = "amount")
    private BigDecimal amount;

    @Column(comment = "预留数量", value = "reserve_count")
    private Integer reserveCount;

    @Column(comment = "开卡充值最小金额", value = "open_recharge_min_amount")
    private BigDecimal openCardRechargeMinAmount;

    @Column(comment = "提现预留最小金额", value = "withdraw_min_amount")
    private BigDecimal withdrawMinAmount;

    @Column(comment = "充值最小金额", value = "recharge_min_amount")
    private BigDecimal rechargeMinAmount;

    @Column(comment = "销卡最小保留金额", value = "close_min_amount")
    private BigDecimal closeCardMinAmount;

    @Column(comment = "支持提现状态", value = "withdraw_status")
    private String withdrawStatus;

    @Column(comment = "支持销卡状态", value = "close_status")
    private String closeStatus;

    @Column(comment = "收取小金额阈值", value = "min_auth_threshold_amount")
    private BigDecimal minAuthThresholdAmount;

    @Column(comment = "授权手续费基数", value = "auth_fee")
    private BigDecimal authFee;

    @Column(comment = "授权手续费比例", value = "auth_fee_rate")
    private BigDecimal authFeeRate;

    @Column(comment = "小金额授权手续费", value = "min_auth_fee")
    private BigDecimal minAuthFee;

    @Column(comment = "小金额授权手续费比例", value = "min_auth_fee_rate")
    private BigDecimal minAuthFeeRate;

    @Column(comment = "失败手续费", value = "fail_fee")
    private BigDecimal failFee;

    @Column(comment = "失败手续费比例", value = "fail_fee_rate")
    private BigDecimal failFeeRate;

    @Column(comment = "退款手续费", value = "refund_fee")
    private BigDecimal refundFee;

    @Column(comment = "退款手续费比例", value = "refund_fee_rate")
    private BigDecimal refundFeeRate;

    @Column(comment = "撤销手续费", value = "reversal_fee")
    private BigDecimal reversalFee;

    @Column(comment = "撤销手续费比例", value = "reversal_fee_rate")
    private BigDecimal reversalFeeRate;

    @Column(comment = "跨境手续费", value = "cross_border_fee")
    private BigDecimal crossBorderFee;

    @Column(comment = "跨境手续费比例", value = "cross_border_fee_rate")
    private BigDecimal crossBorderFeeRate;

    @Column(comment = "卡场景", value = "card_scenes")
    private String cardScenes;

    @Column(comment = "管理员备注", value = "admin_remark")
    private String adminRemark;

    @Column(comment = "类型", value = "type")
    private String type;
}
